MIDI Yoke Junction
08-20-01 | The MIDI YOKE NT driver has been updated. |
08-06-01 | The MIDI YOKE drivers have been split into separate download packages, and additional documentation has been added to each installer. Self extracting zip files replace the old zip package. |
08-06-01 | The MIDI Yoke NT driver has been updated to support 8 input and output ports. You need to carefully follow the directions for a successful driver update. Detailed install/deinstall information is available in the installer package and online: Driver Update |
MIDI YOKE is a MIDI Patch Cable driver. It is a Windows (Versions 3.1x, 95, 98 and ME) multimedia driver. Also available is a driver for Windows NT and 2000 (unfortunately not as robust). |
MIDI Yoke NT: This driver works in Windows NT 4.0, Windows 2000 and Windows XP. It is completely different code from the Windows 9x MIDI Yoke driver. It is hard coded to 8 ports and can't be changed. It is not as robust as the Windows 9x driver, is still Beta code and will not be supported -- use at your own risk. |
MIDI YOKE is used to connect any Windows MIDI Application outputs to any other Applications inputs. The MIDI data stream is passed directly from output to input -- Example: |
|
Another: |
|
This allows you to connect the MIDI output from one program to the MIDI input of a different program. MIDI Yoke can be configured to provide a varying number of MIDI Ports (from 1 to 16). In addition, each port allows multiple opens of both input and outputs: up to 4 openings per port. This flexibility provides for almost any configuration imaginable. Note: The NT driver is fixed at 3 ports and 3 openings for the moment. |
There is additional information in the FAQ. |
The powerful nature of MIDI Yoke requires that a bit of care be exercised in it's use: do not connect the outputs of one port to the same number inputs within a single application. If you do, it will cause MIDI feedback -- this phenomena will bring a computer to it's knees, and likely crash the system. |
Version 1.50+ of MIDI Yoke attempts to detect MIDI feedback by any of 3 configurable methods. The first method was supported in previous versions: it simply sends an undefined controller number out the input port every so often (once every 50 messages). It looks at the output port to see if the controller shows up: if it does it assumes MIDI feedback and disables the driver. The second (new) method analyzes the rate of messages traveling through the driver. If they exceed a certain threshold (2048 messages per second by default), the driver assumes MIDI feedback and disables the driver. The third (new) method combines the previous two: it analyzes the data rate. If the rate exceeds the threshold, the driver sends an undefined controller out the input. If the controller shows up at the output, MIDI feedback is detected, and the driver is disabled. |
To recover from any of these conditions, simply close all connections attached to both ends of the particular MIDI Yoke port. After that the port may be reopened (but common sense would dictate that you should configure the routing differently). |
MIDI Yoke is not a normal driver! It is a like a MIDI Patch Cable: it takes any data that shows up at its MIDI Yoke Output port and spits it out of its MIDI Yoke Input port! This seems to be really counterintuitive to people, but it's the only way that it can work as a patch cable. MIDI Yoke is used to attach different MIDI applications together -- it links them via MIDI. |
This also means that you should never, ever, open the same MIDI Yoke port number as both input and output within a single application -- it is suicidal to do so. When this happens, any MIDI message sent to the output port is immediately routed back to the input port, which is then sent out the output port and immediately routed back to the input port... I think you get the idea: MIDI Feedback! This all happens very, very fast (at interrupt time), and if it is not stopped, your machine will appear to be hung. MIDI Yoke attempts to detect this condition and will break the connection when it is detected. |
After a MIDI feedback report, you need to close and reopen the driver in each application that has opened it. You can usually do this by opening the applications MIDI devices dialog (MIDI-OX and Cakewalk each have these), unselecting the MIDI Yoke port, and Press OK. The driver is now closed. Now do the same in the other application (if there's more than one application). Next figure out how you want the driver to be routed (avoiding feedback scenarios). Open the MIDI devices dialog and reselect the MIDI Yoke driver. Press OK. Do the same in the second application. The driver should now be re-enabled and operational. |
You can use MIDI Yoke to communicate between applications by having then share a single MIDI Yoke port. The first application (the Master) opens a MIDI Yoke port as an Output port, the second application (the Slave) opens the same numbered MIDI Yoke port as an Input port. With this configuration, MIDI data (and System Exclusive) is passed in one direction from Master to Slave. The Master might be Cakewalk or Cubase or MIDI-OX. The Slave might be Rebirth or Cakewalk or MIDI-OX: it depends on what you want to do. |
MIDI Connections
MIDI Yoke is normally used to connect two applications together. The first application will open MIDI Yoke 1 as an output port, and the 2nd application will open MIDI Yoke 1 as an input port. MIDI data will travel from the first application to the 2nd. |
Single Client to Multi-Client: You can use MIDI-OX in conjunction with MIDI Yoke to achieve a virtual multi-client input. Launch an instance of MIDI-OX. In MIDI Devices... dialog, select the single client hardware driver as input and select MIDI Yoke 1 as output. In each application that you wish to share the driver, open MIDI Yoke 1 as input. Although I mention MIDI Yoke 1, it can be any MIDI Yoke port as long as they all use the same port number. |
Multi-Client to Single Client output: The reverse scenario is a mirror image of the previous paragraph. You can use MIDI-OX in conjunction with MIDI Yoke to achieve a virtual multi-client output. Launch an instance of MIDI-OX. In MIDI Devices... dialog, select MIDI Yoke 1 driver as input and select your single client hardware port as output. In each application that you wish to share the output driver, open MIDI Yoke 1 as output. Although I mention MIDI Yoke 1, it can be any MIDI Yoke port as long as they all use the same port number. |
08-20-01 |
1.70 MIDI Yoke NT |
The Driver has been versioned to 1.70 to differentiate it from the Windows 9x driver. This release fixes two items: | |
A SysEx buffer bug has been repaired. When the buffers on the input application attachment were smaller than those on the output application attachment, data was not always split correctly into separate buffers. | |
If an attached application crashed, the associated MIDI Yoke slot would become æorphanedÆ and unavailable for further use until the system was rebooted. We now attempt to clean up any orphaned attachments the next time a MIDI Yoke port is opened. | |
08-06-01 |
1.59 MIDI Yoke NT |
The
Windows NT, 2000, XP version of MIDI Yoke will now present 8 different input
and output ports. Each port can be opened by to 3 applications
at each end (input and output). |
|
01-23-01 |
1.63 MIDI Yoke 9x |
The
Windows 3.1/95/98/ME version of MIDI Yoke will now present up to 16 different
input and output ports. Each port can be opened by to 4 applications
at each end (input and output). |
|
1.62 MIDI Yoke 9x | |
The
driver has been renumbered to be different from the NT driver. In addition, the helper task (Myoke.tsk)
is only loaded when at least one instance of MIDI Yoke has been opened by
an application. It is removed from memory when the last instance closes.
|
Installation 9x
Under Windows ME, install the MIDI Yoke Junction via the Control Panel 'Add New Hardware' applet. After Windows forces an initial search, answer 'No, the device isn't in the list' and press [Next]. On the next screen, press 'No, I want to select the hardware from a list'. Press [Next]. Choose Sound, video and game controllers. Press [Next]. On the next screen press [Have Disk...]. Browse to the directory containing the installation files (MIDIYOKE.DRV and OEMSETUP.INF). Press OK... |
During installation a configuration dialog is presented. The dialog allows you to specify the number of MIDI Yoke ports that should be enabled, and the Feedback detection desired. You can also change the controller number used to detect feedback. You can access this dialog later on too, once the driver is installed, and the machine restarted. To do so, open the Control Panel Sounds and Multimedia applet, choose the Advanced tab, expand 'MIDI devices and Instruments', double-click on any of the MIDI Yoke port connections, and press Settings... You can also Remove the driver using this applet if need be. |
Windows ME install is very similar to Windows 98 SE: Pictorial Install can be viewed or printed. |
Under Windows 95, install the MIDI Yoke Junction via the Control Panel 'Add New Hardware' applet. Answer 'No' to searching for hardware. Choose Sound, video and game controllers. Choose 'Have Disk'. Browse to the directory containing the installation files (MIDIYOKE.DRV and OEMSETUP.INF). Press OK... |
During installation a configuration dialog is presented. The dialog allows you to specify the number of MIDI Yoke ports that should be enabled, and the Feedback detection desired. You can also change the controller number used to detect feedback. You can access this dialog later on too, once the driver is installed, and the machine restarted. To do so, open the Control Panel Multimedia applet, choose the Advanced tab, expand 'MIDI devices and Instruments', double-click on any of the MIDI Yoke port connections, and press Settings... You can also Remove the driver using this applet if need be. |
Windows 98 SE Pictorial Install can be viewed or printed. |
WARNING: There is a bug in Windows 95 that limits the total number of MIDI Ports to roughly 11. This total includes each MIDI Yoke port plus any other ports presented by other drivers, so set the number of MIDI Yoke ports such that the total number of MIDI ports is less than 11. If you exceed this amount it may prevent the driver from loading at bootup time. This has been fixed in Windows 98. |
Installation NT
Windows XP is not yet released. The good news is that MIDI Yoke NT driver will work in Windows XP (Professional and Home Edition) Beta. The installation is similar to Windows 2000. |
A Windows XP Home Edition annotated Pictorial Install can be viewed or printed. |
Under Windows 2000, use the Control Panel Add/Remove Hardware to install MIDI Yoke NT. Click Next... Choose (*) Add/Troubleshoot. Click Next... Choose Add a new Device. Click Next... Choose (*) No, I want to select the Hardware from a list. Choose Sound, Video and Game Controllers. Click Next... Press [Have Disk]. Browse to the directory containing the drivers (myokent.dll and oemsetup.inf). Select the MIDI Yoke NT driver from the list. Make sure you don't leave an expanded MYOKENT.DLL in your MIDI-OX directory: If Windows NT finds this file it attempts to load it instead of the system one, and anomalies result. It's perfectly okay to leave the compressed version in your MIDI-OX directory (MYOKENT.DL_) |
Windows 2000 Pictorial Install can be viewed or printed. |
Under Windows NT, use the Control Panel Multimedia Applet to install MIDI Yoke NT. Select the Advanced tab, highlight the MIDI Devices and Instruments section, and press Add. Choose Unlisted or Updated driver, and browse to the directory containing the drivers (myokent.dll and oemsetup.inf). Select the MIDI Yoke NT driver from the list. Make sure you don't leave an expanded MYOKENT.DLL in your MIDI-OX directory: If Windows NT finds this file it attempts to load it instead of the system one, and anomalies result. It's perfectly okay to leave the compressed version in your MIDI-OX directory (MYOKENT.DL_) |
For Windows 3.1+ install the MIDI Yoke Junction via the Control Panel Drivers Applet. You can also access the settings dialog from this applet. |
Driver Update for Windows 2000
A page has been created to aid successful MIDI Yoke NT update for Windows 2000. |
Driver Deinstall for Windows 2000
A pictorial series has been created to aid driver removal under Windows 2000. |
You can reach me at:
DISCLAIMER
MIDI YOKE JUNCTION DRIVER is provided without any warranty, expressed or implied, including but not limited to fitness for a particular purpose. |
Copyright ⌐ 1996-2001 by Jamie O'Connell. All rights reserved. |
email: webmaster@midiox.com |